package com.bestcem.xm.user.util.convert;

import com.bestcem.xm.user.entity.mysql.UserUserGroup;
import com.bestcem.xm.user.entity.pojo.UserUserGroupDO;
import com.bestcem.xm.user.entity.pojo.UserWithGroupDO;
import com.bestcem.xm.user.service.dto.group.SaveUserToGroupDTO;
import com.bestcem.xm.user.service.dto.group.UserUserGroupDTO;
import com.bestcem.xm.user.service.dto.group.UserWithGroupDTO;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @author Linked <zhijian.lin@idiaoyan.com>
 * @version v1.0
 * @date 2022/1/4 13:52
 */
@Mapper(componentModel = "spring")
public interface UserUserGroupConvert {

    UserUserGroupDO userToGroupDTOToDO(SaveUserToGroupDTO userToGroupDTO);

    UserUserGroup doToEntity(UserUserGroupDO userUserGroupDO);

    List<UserUserGroup> dosToEntitys(List<UserUserGroupDO> userUserGroupDO);

    List<UserUserGroupDO> entitysToDos(List<UserUserGroup> entitys);

    List<UserUserGroupDTO> doToDto(List<UserUserGroupDO> dos);

    UserUserGroupDO dtoToDo(UserUserGroupDTO userUserGroupDTO);

    List<UserUserGroupDO> dtosToDos(List<UserUserGroupDTO> userUserGroupDTOs);

    List<UserWithGroupDTO> userWithGroupDO2Dto(List<UserWithGroupDO> userWithGroup);
}
